var arr = files.read("/sdcard/Android/data/tv.danmaku.bili/download/800760067/c_283851334/danmaku.xml"); //生成目录下弹幕文件的字符串
var xmldanmaku = arr.split("</d>").join().split("<d"); //将字符串按照</d>拆分为数组，然后进行拼接，在再按照<d拆分为数组
var xmldanmaku = xmldanmaku.slice(1, xmldanmaku.length - 1); //切片，不要第一个弹幕
var danmaku = []; //创建一个空数组
//print(xmldanmaku)
//遍历弹幕文件
for (var n in xmldanmaku) {
    //将弹幕文件按照,拆开然后放入danmaku数组中
    danmaku.push.apply(danmaku, xmldanmaku[n].split(","));
}
//log(danmaku)
//创建时间和文字数组
time = [];
text = [];
//遍历弹幕数组
for (var n in danmaku) {
    //找到p=字符串的开始索引，如果为0,则将p=去掉然后放入时间数组。将>开头的字符串放入文字数组
    if (danmaku[n].indexOf(' p="') == 0) {
        time.push(danmaku[n].replace(' p="', ''));
    } else if (danmaku[n].indexOf('">') > 0) {
        text.push(danmaku[n].slice(danmaku[n].indexOf('>') + 1, danmaku.length));
    }
}
//log(time,text)
target = rawInput("请输入想要查找的弹幕:");
toast("你想要查找的弹幕是：" + target);
count = 0; //设置计数器变量
dictionary = {}; //设置空对象
for (var n in text) {
    //如果找到了目标弹幕，用search匹配
    if (text[n].search(target) != -1) {
        //先除以10然后四舍五入再乘10，这样就得到了保留到10位的时间，单位为秒，时间精度你可以自己控制
        roundtime = Math.round(Number(time[n]) / 10) * 10;
        //print(text[n] + ', ' + time[n] + ', ' + roundtime);
        keys = text[n] + ',' + roundtime;
        if (keys in dictionary) {
            count++;
            dictionary[keys] = count;
        } else {
            count++;
            dictionary[keys] = count;
        }
    }
}
//创建数组记录弹幕次数，时间，内容
values = [];
text = [];
time = [];
for (var n in dictionary) {
    values.push(dictionary[n]);
    text.push(n.split(",")[0]);
    time.push(n.split(",")[1]);
}
//深拷贝出现次数
copyvalues = JSON.parse(JSON.stringify(values));
//按照出现由大到小次数排序
copyvalues = copyvalues.sort((a, b) => {
    return b - a;
});
//清空控制台
console.clear();
total=0;//相关弹幕总和计数
//遍历有大到小排列的弹幕数组，并把时间和内容也由大到小输出
for (var n in copyvalues) {
    index = values.indexOf(copyvalues[n]);
    log(n+".弹幕：" + text[index], ";出现时间:" + parseInt(time[index]/60)+"分" +time[index]%60+ "秒左右;", "出现次数:" + values[index]);
    print();
    total+=values[n];
}
//打印总和并且显示控制台
log("和'"+target+"'相关弹幕总计出现次数："+total)
console.show();